Modern information technology offers a growing number of tools and services to increase business productivity, including mobile devices, browser-based applications, cloud computing and storage, and web-based collaboration systems. However, each new capability brings new risks. Many of these tools and services require storing sensitive information in new locations such as cloud data repositories, software as a service applications, and mobile devices. Advanced collaboration tools create new modalities of data access for legitimate users, but they may also create exploitable security vulnerabilities that allow loss or theft of data.
Many countries have enacted laws that govern the way personal data is handled, transferred, and stored, to include restrictions on the use of cloud computing and mobile devices without additional security measures. Multinational companies operating in those countries must abide by the laws of every country of operation. Companies may also lose potential business or partnership opportunities by failing to take security and privacy considerations into account. In some industries, such as healthcare and financial services, protecting sensitive information, regardless of where the information goes, is of critical importance.
From the perspective of individuals, securing their data is equally important. On numerous occasions, the compromise of even a single large enterprise can result in the compromise of the personal information of tens of millions or even hundreds of millions of individuals. Personal information of users who use online banking, or perform other financial and/or personal transactions, is vulnerable to phishing, eavesdropping, and various other electronic intrusions.
Most conventional information security methodologies (generally known as cryptographic systems) can be typically characterized as belonging to either a public-private key-based (PPK) infrastructure, or a symmetric key-based infrastructure. Public-private key-based infrastructure is a cryptographic system (e.g., RSA-2048 algorithm) that generates two keys for every user—a public key and a private key. A public key is shared by a user (e.g., user A) with other users who wish to send data to user A. Thus, a user who wishes to send data to user A obtains user A's public key (that is publicly available), encrypts the data to be sent to user A, and finally sends the encrypted data. Upon receiving the encrypted data, user A uses a private key (typically, a secret key that is not publicly available) to decrypt the data. Without using the private key, data encrypted using this infrastructure is typically difficult to decrypt.
However, a significant problem with systems designed using the PPK infrastructure is that every user must own a public key and a private key. The public key is shared with other users and used by them for encryption of data, whereas the data is decrypted using the user's private key. Thus, if a user's private key is ever compromised, any data sent to the user can be decrypted easily. For example, in an enterprise, private keys are more prone to be compromised as the private key is usually accessed by persons other than the key owner, such as IT department personnel, outside contractors, and the like. Moreover, key management is difficult because of the need for mapping key owners to a public key every time encrypted data is sent to a key owner. Also, if a user wants to change his or her public and/or private key, it would destroy the integrity of the data that has been encrypted previously. In other words, a significant disadvantage with the conventional PPK infrastructure is that keys are tied to people. Therefore, changing either public or private keys makes it difficult to dynamically scale various aspects of key management. Additionally, a multi-party conversation (e.g., online conversations or communications involving more than two persons) can be problematic as every person must have access to every other person's respective key. Hence, this infrastructure is primarily used for encryption of individual emails, messages, and other such unitary types of data usually limited to small numbers of users (e.g., two people).
Other conventional cryptographic systems typically belong to the family of symmetric key-based systems. In these systems, keys (conceptually similar to passwords) that protect the data are used, in addition to the data to be encrypted, as inputs into an algorithm (e.g., AES) that generates encrypted data as output. Unlike the PPK infrastructure, asymmetric key-based systems involve the use of only one key. The person who wishes to decrypt the data uses the same key that was used during encryption. Although asymmetric key-based systems allow scalability with regard to persons involved in the cryptographic system, in the event the key becomes compromised, all the data protected with the key similarly becomes compromised. In symmetric key-based systems, one key is generally used for all users and/or all data to be encrypted. Symmetric key-based systems are used primarily for bulk data encryption and are flexible to allow for multi-party communications. Thus, the keys do not change with each new instance of data or user communication, but remain the same throughout the key lifecycle.
Generally speaking, most conventional data security systems of today are designed on a “thicker wall” approach using the above-mentioned systems. In other words, these systems attempt to secure the data while the data remains within the electronic premises of an organization's enterprise system, or a user's computing device. However, in today's digital age, such an approach is no longer workable, as the data is often circulated (and shared) among various other entities and systems, e.g., an organization's partners, a user's friends or acquaintances, SaaS providers, email providers, ISPs, hosting providers, and the like. Effective collaboration among suppliers, partners, vendors, and customers requires broader sharing of data. Thus, because so many parties and chances for data leak are involved, there are many opportunities for data breach, hacking, inadequate security measures, and the like. Accordingly, if an individual user's key is compromised at any intermediate system or entity, every bit of data associated with that key is compromised. In summary, systems that assign keys to persons are problematic.
Therefore, there is a long-felt but unresolved need for a system or method that encrypts or secures data on a contextual basis using a layer of software-based services that orchestrates the movement of context-based encryption keys without requiring plaintext access to the keys themselves.